// 等待Plus加载完毕之后再去执行Plus.的接口操作
// + => Plus c++  c plus plus
const plusExtends = fn => {
  // plus 对象的
  if (window.plus) {
    setTimeout(fn, 0)
  } else {
    // 在H5+的模块 准备好之后 执行fn函数
    document.addEventListener('plusready', fn, false)
  }
}

document.addEventListener('plusready', () => {
  var first = null
  var webview = window.plus.webview.currentWebview() // 获取当前页面的webview对象
  window.plus.key.addEventListener('backbutton', function () {
    webview.canBack(e => { // canBack函数用于查询Webview窗口是否可后退
      if (e.canBack) { // 判断是否可以后退
        webview.back()// 调用当前webview的后退
      } else { // else代码块表示不能后退，也就意味着回退到首页了
        if (!first) { // 连按两次退出程序的功能实现
          first = new Date().getTime()
          window.plus.nativeUI.toast('再按一次退出应用')
          setTimeout(function () {
            first = null
          }, 1000)
        } else {
          if (new Date().getTime() - first < 1000) { // 这里的1000是指两次按键的时间间隔在1秒内就退出应用
            window.plus.runtime.quit() // 退出应用
          }
        }
      }
    })
  }, false)
}, false)

export default plusExtends
